package com.itheima.web.filter;

import javax.servlet.*;
import javax.servlet.annotation.WebFilter;
import java.io.IOException;

@WebFilter(value = "/demo02", dispatcherTypes = {DispatcherType.REQUEST, DispatcherType.FORWARD})
public class FilterDemo02 implements Filter {

    public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws ServletException, IOException {
        System.out.println("放行前执行的代码");

        chain.doFilter(req, resp); // 放行, 请求到达了资源

        System.out.println("放行后执行的代码");
    }

    // 在服务器启动时创建过滤器,并执行init,
    // 过滤器要在Servlet创建前就准备好,这样才能起到过滤的效果,所以在服务器启动时就创建了过滤器并执行了init
    public void init(FilterConfig config) throws ServletException {
        System.out.println("过滤器 init");
    }

    // 服务器正常关闭时执行
    public void destroy() {
        System.out.println("过滤器 destroy");
    }
}
